Version History:

March 14 - v1.2
- added Binhex capabilities after a ridiculous amount of effort
- removed the "Save/Load newsrc" and "Save/Load Aliases" menu options, since they were really only useful to me during debugging and tended to confuse users
- enabled "Close Window" menu option when the threading status window is the front window
- redesigned all error-handling actions (ugh— I wish I'd done it right the first time)
- rewrote most file related routines to work better with both system 6 and System 7
- fixed memory allocation bug that caused "Kill Subject", "List All Articles", and "List Unread Articles" code to gobble up the heap, eventually resulting in an out of memory error
- added progress dialog at startup when unread totals are calculated
- fixed bug that caused the currently displayed/hilighted article to disappear from the list of article subjects when a group's thread file is updated in the background
- tweaked behaviour of subject lists so that the displayed/hilighted article tries to remain in the middle of the pane during space-bar-paging through articles and arrow key scrolling
- the name of the group being threaded in background is now italicized in the newsrc window
- added option-up/down-arrowkey support to article pane (gives more control than just page up/down)
- added support for TEXTCREATOR and TEXTTYPE file signature settings; defaults are '«rn»' and 'TEXT'
- added user-configurable setting to control the default filename for saved text files (options are to save under the groupname or save under the 'Subject:' field)
- added space-bar functionality to newsrc window, so now you can pretty much just use the space bar to do everything
- added support for "Xref: " header to link cross-posted articles and mark them as read for all relevant groups
- tweaked "Post Followup" and "Email Reply" so that the outgoing article/message begins "In article <abcdefg@somewhere.uucp> Roy writes", rather than just saying "In article <abcdefg@somewhere.uucp> you write"
- article headers are now stored offscreen, and if full headers are not displayed, only the From: and Subject: header lines are displayed
- added a friendly message to LoadArticle so that if rnMac can't find an original article after dereferencing an aliased file, the user is informed of the problem
- added "DEFAULT WINDOWRECT" setting support
- reduced excessive number of blank lines inserted in outgoing news/mail, and ensured that the “---” sigfile separator is displayed ONLY if there is a sigfile specified
- ObscureCursor() is now called after every keystroke
- subject lines containing tabs no longer cause problems
- tweaked threader so that headers like “From: <me@here.uucp>” and “From: me@here.uucp ()” result in the poster's email address being listed in the header list, rather than displaying the message “author name unavailable” (see RFC 1036 for “From:” header standards)
- tweaked database logic to deal better with “Re: ” in subject lines during threading
- added user-configurable option to display repeated subjects in article list pane
- added "QUOTESTRING" user-defined quotation string
- added colour highlighting to windows and displays
- added cool colour icons designed by Ernst Mulder
- added "DOBLOCKPROCING" option (speeds up background threading by about 25%, though it kills responsiveness)
- catch-up command is now available from the subscribed groups window
- added control up-arrow/down-arrow support (equivalent to page up/down, useful on a powerbook or non-extended keyboard)
- added "SAVEARTWINDPOS" capabilities
- added capability to shift-click multiple articles headers and then save as textfile(s), append to an existing file, or unbinhex and save (whew!)
- fixed some minor bugs in the binhexing code that completely pooched the conversion to binhex (unbinhexing was fine)
- tweaked the database code to deal with out-of-date thread files better, and to deal with non-existant 'SUBJ' resources (ToadNews v1.1 or later)

November 21 - v1.1
- fixed problem with threading that caused rnMac to hang when processing articles with References: header lines longer than 256 characters
- ensured that all threading code clips field lengths to 256 characters or less (this might have been causing some people problems)
- tweaked the dialog filter so that it doesn't get confused when, for example, it intercepts a keystroke of the letter "N" and there are two buttons with names containing a capital "N" (as in "Register Now" and "No, I'm a shareware leech")
- fixed a very nasty bug in a call to ResolveAliasFile so that I really am passing a pointer to a char for the wasAliased parameter (I used to say “(Boolean *) wasAliased” instead of “(Boolean *) &wasAliased”); this should fix the problem with crashes when rnMac tries to dereference an alias....

November 14 - v1.0
- fixed problem with threading that caused rnMac to keep headers for expired articles
- fixed problem with threading (yes another one) that caused it to refuse articles when first # > last # in “ToadNews Active” file
- added right/left arrow keys for moving to next/previous article in an open group window
- stripped out auto-scroll-bar stuff from TE32K (that's what was causing the dereference of 0L, and although it was an easy bug to fix [somebody else's code anyway], I wasn't using it, so I just dumped it)
- added menu option for resetting thread database; this purges all threaded article subject/header files created by rnMac
- fixed bug that made it sometimes difficult to bring to front inactive windows belonging to rnMac
- implemented better support for aliases (you can alias settings files, newsrc's, etc. now)
- fixed my lazy usage of the default vRefNum; now rnMac can access data files on volumes other than the one rnMac starts up on, so shared news volumes and fileservers will work correctly
- added support for System 7 StandardGetFile and StandardPutFile dialogs
- added shift-clicking for subscribed groups window, and multiple unsubscribe for selected groups
- fine-tuned double-clicking reaction (use to react to double-clicks just based on time since last click; now also considers location of last click)
- fixed problem with failure to recognize option key when user subscribes to a group by double-clicking

September 1 - v0.99b
- fixed background threading bug that caused crashes when an empty newsgroup was encountered
- fixed problem with wrapping article numbers (i.e. when article number wraps past 32767)
- added capabilities for alphabetizing newsrc, active groups list, Post To Group: menu
- added copying/cutting/pasting capabilities to ALL dialogs
- added key bindings for all buttons in dialogs (press first letter of button name in dialogs without editable text fields, press command + first letter of button name in dialogs with editable text fields, press escape key or command-period for "Cancel" buttons) 
- modified effect of space bar in open newsgroup window; now pressing space bar pages down article or does "Next Unread" if at bottom of article
 - added capability to option-click an article header to toggle read/unread status of article

August 14,- v0.99
- rnMac now remembers "Show Full Headers" and "Wrap Text" options between sessions
- display a nicer alert if a memory error occurs (i.e. "increase rnMac memory size using Finder "Get Info" box)
- space bar to act as command-N while reading a newsgroup
- allow user to use copy and paste pretty much anywhere — especially in modal dialogs
- when reading the mailbox, command-Y and command-U now have the same effect as they have when reading articles (mark read/unread)
- fixed problems with opening VERY LARGE mailboxes (but why not use FernMail, LeeMail, or Eudora?)
- send/send&save/discard buttons and menu options added for outgoing mail/news
- added a submenu of groups for posting articles
- added the "Windows" menu (not the Bill Gates 'MS Windoze' kind!)
- added capability for custom headers on outgoing articles and mail
- added macros for custom headers
- added "SAVEMAILFILENAME" feature, making it easy to append copies of outgoing mail to an archive file for future reference
- jazzed up the dialog generated when the "SAVEMAILFILENAME" setting is in use; now the user can easily append to the "SAVEMAILFILENAME" file, append to another file, overwrite the "SAVEMAILFILENAME" file, or save as a different file— and all at the click of a button
- NEWSFOLDER, MAILDIR, CONFIG, SPOOL, ARTICLEFOLDER directories are now created automatically if they are not present
- added  support for ToadNews default SUBJ header files
- added support for no header files (just lists available article numbers)
- added "background" creation of threaded header files
- added user-defined "THREADPAUSE" with default of a 5 minute pause
- rnMac now remembers "Do Background Threading" status between sessions
- enhanced speed/smartness of subject threader (now deletes expired article references and keeps current references before adding new references)
- implemented balanced binary tree for sorting article subjects (yuk, but fast)
- added "THREADLOG" setting
- added code to blank out repetitive subjects in open group window (makes threads easier to recognize)
- fixed problem with cursor being mispositioned after a mouseclick in a text-editing window (this is what was causing those spurious linehops by the cursor)
- added "SPOOLLOCAL" setting for spooling a copy of outgoing article into spool folder for ToadNews to find later

April 1993 - v 0.6b
- fixed "kill subject" behaviour
- fixed problem with extraneous space character at end of Newsgroups: line that caused outgoing postings to be rejected by many inews's
- added "Delete" and "New" buttons to Settings Editor
- added ORGANIZATION and DISTRIBUTION settings
- implemented default Followup-To: and Reply-To: headers
- checked out Clipboard handling during context switches— it seems to work fine for me....
- implemented graceful handling of system 7 aliases for aliased articles
- implemented suspend/resume event recognition
- enabled quit rnMac upon shutdown (just changed menu entry from "Quit rnMac" to "Quit")
- more TE32K subtleties updated/corrected
- Newsgroups: line is now set when the user chooses "Post Article" and a newsgroup window is open and frontmost on the desktop
- added registration code (sorry leeches!)

March 1993 - v 0.5b
- removed the SysBeep “feature” that caused rnMac 0.4b to beep constantly (a leftover debugging warning, activated when *((long *) 0L != 0x50FFC001, which I was doing as part of an attempt to catch dereferences of nil handles and pointers))
- added REALNAME capability
- added a “Discard” option to the alert shown when mail/news is being sent (sorry!)
- fiddled with newsrc and article reader to allow for really monstrous feeds and large files (i.e. use long's instead of int's wherever possible)
- Ha!  Got that #&^%!#*&^%$* bug in the newsrc.c code that caused all those crashes.  It's about time.
- improved TE32K code to v1.2 with modifications suggested by Lee A. Fyock <laf@mbunix.mitre.org> and Patrick C. Beard <beard@cs.ucdavis.edu>; TE32K now supports colour highlighting, better double-click + dragging, and also correctly returns a copy of the text via TE32KGetText

March 1993 - v 0.4b
- major cleanup of code and introduction of new bugs =)
- fixed database code so that rnMac once again works even without a TEMPDIR
- made "Read Next" menu option into "Read Next Unread" (yes, I mean I changed the code, not just renamed the menu choice!)
- tweaked the hide/show headers logic so the From:, Subject:, Date:, Reply-To:, Newsgroups:, Message-ID: header lines are shown in terse mode
- added safer internal string copying routines (no more overwrites onto my code when copying oversized strings, though sprintf'ing is still a problem....)
- fixed a bug with TE32K text-insertion code
- ensured that the current article subject is visible/highlighted at all appropriate times (my definition of "appropriate", of course)
- added smarter "Save Textfile" code for saving articles in a file with the same name as the newsgroup
- fixed problem with Edit menu options in outgoing article window
- added capability to wrap text in article windows
- added capability to resize subject panes in newsgroup windows
- improved e-mail address extraction algorithm
- fixed bug encountered when generating subjects file for a group containing no articles
- combined the save/send dialogs for outgoing mail/articles
- added more complete RFC 1036 headers to outgoing news posting
- added full quoting of article for followup postings and mailed replies
- after an intense session with MacBugs in HS mode, I discovered a nasty bug in the newsrc code.  It seems that when I was obtaining the name of a group from the newsrc data structures, I was NOT checking for the correct delimiter, so I often ended up copying a lot of extra memory over top of things like, say, CODE resources in the heap.  Is that bad?  Well, it's fixed now, so those nasty crashes when subscribing to groups should have stopped for good.
- added ARTICLESFOLDER capability for saving articles

February 1993 - v 0.3b
- added “SIGFILE” capability
- windows now remember last opened position even between sessions
- added capability to append mail/news to existing file
- fixed "Reply-To:" header line recognition code
- author of articles are now displayed beside subject
- newsrc window now displays count of unread articles for each group
- newsrc now saved after a newsgroup window is closed
- added smarter Subject: list builder; it now only rebuilds the list when the group's directory has been modified
- added logic to generate shorter subject list filenames for groups with names so long that they that would otherwise generate filenames longer than 32 characters
- added show/hide headers feature
- expanded acceptable range of article numbers beyond 32767, though I'm pretty sure it's unnecessary
- added support for arrow keys and page up/down keys in mail reader and article reader, as well as newsrc and groups windows
- added "Close Window" menu option
- added "Catch Up" menu option

January 1993 - v 0.2b
- added word-wrapping via TE32K TextEdit replacement hack
- fixed problem with occasional crashes while subscribing to new newsgroups (crashes were due to the old version of Think C which dereferenced a handle on the left side of an assignment statement before calling NewHandle on the right side of the statement, thus making life interesting for one and all)
- added “TEMPDIR” capability

September 1992 - v 0.1.3b 
- initial release, made public so people would stop pestering me for a copy